# a=10
# def func():
#     global a  #向外一层找变量，有就引用，没有就继续向外找一层，直到全局变量    nonlocal不会找到全局，只招到内部的上一层
#     a=20
#
# func()
# print(a)

# 闭包
"""
    闭包：本质，内层函数对外层函数的局部变量的使用，此时内层函数被称为闭包函数
    1、可以让一个变量常驻与内存
    2、
"""
def func2():
    a=10
    def inner():
       print("内部：",a)
       return a
    return inner

ret = func2()
print(ret)

print("拿到的值是：",ret())